package com.shallowUniverse.process.context.user;

import java.util.List;

/**
 * @author gs
 * @date create in 2021/1/8 22:16
 */
public interface ProcessUserService {

    /**
     * description: 获取当前用户 <br/>
     * author: gs   <br/>
     * date: 2021/1/8 <br/>
     * params: [] <br/>
     * return: com.qianyu.legal.core.context.user.SysUser
     */
    SysUser get();

    /**
     * description: 设置当前用户 <br/>
     * author: gs   <br/>
     * date: 2021/1/8 <br/>
     * params: [sysUser] <br/>
     * return: void
     */
    void set(SysUser sysUser);

    /**
     * description: 清除 <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/2 <br/>
     * params: [] <br/>
     * return: void <br/>
     * version: 1.0
     */
    void clear();

    /**
     * description: 获取用户id <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/5 <br/>
     * params: [] <br/>
     * return: java.lang.Long <br/>
     * version: 1.0
     */
    Long getUserId();

    /**
     * description: 获取用户部门 <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/5 <br/>
     * params: [] <br/>
     * return: java.lang.Long <br/>
     * version: 1.0
     */
    Long getUserDept();

    /**
     * description: 获取用户账号 <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/5 <br/>
     * params: [] <br/>
     * return: java.lang.String <br/>
     * version: 1.0
     */
    String getUsername();

    /**
     * description: 获取用户角色列表 <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/5 <br/>
     * params: [] <br/>
     * return: java.util.List<java.lang.Long> <br/>
     * version: 1.0
     */
    List<Long> getUserRoles();

    /**
     * description: 获取用户真实姓名 <br/>
     * author: Shuai Guo   <br/>
     * date: 2021/8/5 <br/>
     * params: [] <br/>
     * return: java.lang.String <br/>
     * version: 1.0
     */
    String getUserReamName();
}
